Skip to content

Comments

Implement ClusterUID enrichment for runtime alerts#708

Merged
matthyx merged 4 commits intomainfrom
feature/implement-cluster-uid-enrichment
Feb 2, 2026
Merged

Implement ClusterUID enrichment for runtime alerts#708
matthyx merged 4 commits intomainfrom
feature/implement-cluster-uid-enrichment

Conversation

@slashben
Copy link
Contributor

@slashben slashben commented Feb 1, 2026

Summary

Implement ClusterUID enrichment for runtime alerts by fetching the kube-system namespace UID and populating it in all RuntimeAlert structures.

Changes

Dependencies

  • Updated armoapi-go to v0.0.672 (includes new ClusterUID field)

New Files

  • pkg/utils/clusteruid.go - Utility function to fetch kube-system namespace UID

Modified Files

  • cmd/main.go - Fetch ClusterUID at startup and pass to exporters
  • pkg/exporters/exporters_bus.go - Update InitExporters to accept clusterUID parameter
  • pkg/exporters/http_exporter.go - Store and populate ClusterUID in alerts

Implementation Details

  1. Startup Phase: After creating the Kubernetes client, the agent fetches the UID of the kube-system namespace using the new GetClusterUID utility function.

  2. Error Handling: If the namespace cannot be accessed (e.g., due to RBAC restrictions), a warning is logged and an empty string is returned. The agent continues operating normally with an empty ClusterUID field.

  3. Alert Enrichment: The ClusterUID is passed through the exporter chain and populated in:

    • RuntimeAlertK8sDetails.ClusterUID for all K8s alerts
    • HttpRuleAlert.SourcePodInfo.ClusterUID for HTTP rule alerts
  4. Backward Compatibility: The field uses omitempty and existing functionality is not affected if ClusterUID is empty.

Testing

  • ✅ Code compiles successfully
  • ✅ Unit tests pass
  • Manual testing needed: Deploy to test cluster and verify ClusterUID is populated

Related PRs

Next Steps

After this PR is merged and a new version is released:

  1. Update private-node-agent with new dependencies
  2. Update Helm charts with RBAC permissions (namespaces get/list)

RBAC Requirements

Note: For ClusterUID to be populated, the agent's ServiceAccount needs permissions to read namespaces:

- apiGroups: [""]
  resources: ["namespaces"]
  verbs: ["get", "list"]

This will be added to Helm charts in a separate PR.

Summary by CodeRabbit

  • New Features

    • Alerts (runtime and malware) now include a stable cluster UID so cluster context is preserved across emitted alerts.
    • Agent obtains the cluster UID at startup and attaches it to exporter payloads before initialization.
  • Tests

    • Unit tests updated to validate the cluster UID is populated in exporter instances.
  • Chores

    • Dependency version bumped.

This change adds support for enriching runtime alerts with a stable cluster
identifier (ClusterUID) based on the kube-system namespace UID.

Changes:
- Update armoapi-go dependency to v0.0.672 (includes ClusterUID field)
- Add GetClusterUID utility function to fetch kube-system namespace UID
- Update HTTPExporter to accept and store clusterUID
- Update InitExporters to accept clusterUID parameter
- Populate ClusterUID in createRuleAlert and createMalwareAlert
- Fetch ClusterUID at agent startup in main.go

The ClusterUID is fetched once at startup and passed to all exporters. If
the kube-system namespace cannot be accessed (e.g., RBAC restrictions), a
warning is logged and the field remains empty, allowing the agent to
continue operating normally.

Related PR: armosec/armoapi-go#602
Signed-off-by: Ben <ben@armosec.io>
@coderabbitai
Copy link

coderabbitai bot commented Feb 1, 2026

📝 Walkthrough

Walkthrough

Retrieves a stable cluster UID from the Kubernetes kube-system namespace and threads that UID into exporter initialization and HTTP exporter alert payloads so emitted alerts include cluster identity.

Changes

Cohort / File(s) Summary
CLI / bootstrap
cmd/main.go
Fetch clusterUID via new util before initializing exporters; pass clusterUID into InitExporters.
ClusterUID util
pkg/utils/clusteruid.go
New GetClusterUID(k8sClient kubernetes.Interface) string — reads kube-system namespace UID with a 5s timeout; logs and returns empty string on error.
Exporters bus API
pkg/exporters/exporters_bus.go
InitExporters signature extended to accept clusterUID and forwards it to exporter constructors (notably HTTP exporter).
HTTP exporter
pkg/exporters/http_exporter.go, pkg/exporters/http_exporter_test.go
HTTPExporter gains clusterUID field; NewHTTPExporter(..., clusterUID) added; alert builders set k8sDetails.ClusterUID and httpDetails.SourcePodInfo.ClusterUID; tests updated for new param/field.
Dependencies
go.mod
Bump github.com/armosec/armoapi-go from v0.0.671v0.0.672.

Sequence Diagram(s)

sequenceDiagram
    participant Main as Main
    participant K8s as Kubernetes API
    participant Utils as ClusterUID Utils
    participant Exporters as Exporters Bus
    participant HTTPExp as HTTP Exporter
    participant Alerts as Alert Payloads

    Main->>Utils: GetClusterUID(k8sClient)
    Utils->>K8s: GET namespace/kube-system
    K8s-->>Utils: namespace UID
    Utils-->>Main: clusterUID
    Main->>Exporters: InitExporters(..., clusterUID)
    Exporters->>HTTPExp: NewHTTPExporter(..., clusterUID)
    HTTPExp->>HTTPExp: store clusterUID

    rect rgba(200,150,100,0.5)
    Note over HTTPExp,Alerts: When building alerts
    HTTPExp->>Alerts: set k8sDetails.ClusterUID = clusterUID
    HTTPExp->>Alerts: set httpDetails.SourcePodInfo.ClusterUID = clusterUID
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐰 I hopped to kube-system, quiet and spry,
I plucked the UID beneath the sky,
Brought it back through exporters' gate,
So every alert can find its state,
Little UID, snug and wry. 🥕

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 37.50% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Implement ClusterUID enrichment for runtime alerts' accurately summarizes the main change - adding ClusterUID to runtime alerts.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/implement-cluster-uid-enrichment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@go.mod`:
- Line 10: The dependency was bumped to github.com/armosec/armoapi-go v0.0.672
without published release notes—before merging, run a vulnerability scan and
review the upstream changes: execute `govulncheck ./...` in the repo to detect
transitive vulnerabilities and inspect the upstream diff between tags
v0.0.671..v0.0.672 in the armosec/armoapi-go repository to confirm there are no
breaking or insecure changes; if issues are found, either revert the go.mod line
for github.com/armosec/armoapi-go to v0.0.671 or open a follow-up PR that pins a
safe version and documents the risk.

In `@pkg/utils/clusteruid.go`:
- Around line 15-23: The namespace lookup uses a background context with no
timeout; wrap the request in a cancellable context with a small timeout (e.g.,
3–5s) so k8sClient.CoreV1().Namespaces().Get uses that timed context and cannot
block startup indefinitely — create ctx, cancel :=
context.WithTimeout(context.Background(), timeout), defer cancel() and pass ctx
into Get; ensure the necessary time import is added and keep the existing error
handling and logging (helpers.Error, helpers.String) unchanged.
🧹 Nitpick comments (1)
pkg/exporters/http_exporter.go (1)

316-325: ClusterUID propagation on rule alerts looks good.

Optional: consider also setting ClusterUID on the “Alert limit reached” alert so all runtime alert types carry it consistently.

@matthyx matthyx added the release Create release label Feb 2, 2026
Copy link
Contributor

@matthyx matthyx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's add the timeout

Co-authored-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Ben Hirschberg <59160382+slashben@users.noreply.github.com>
matthyx
matthyx previously approved these changes Feb 2, 2026
@matthyx
Copy link
Contributor

matthyx commented Feb 2, 2026

I'll merge once the CI/CD is fixed by @bvolovat

Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
@matthyx matthyx force-pushed the feature/implement-cluster-uid-enrichment branch from 20ff4b4 to 3bd0607 Compare February 2, 2026 14:17
@matthyx matthyx merged commit 476cdbe into main Feb 2, 2026
27 checks passed
@matthyx matthyx deleted the feature/implement-cluster-uid-enrichment branch February 2, 2026 14:38
Darkflame72 pushed a commit to Darkflame72/home-ops that referenced this pull request Feb 10, 2026
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [kubescape-operator](https://kubescape.io/)
([source](https://redirect.github.com/kubescape/helm-charts)) | patch |
`1.30.2` → `1.30.3` |

---

### Release Notes

<details>
<summary>kubescape/helm-charts (kubescape-operator)</summary>

###
[`v1.30.3`](https://redirect.github.com/kubescape/helm-charts/releases/tag/kubescape-operator-1.30.3)

[Compare
Source](https://redirect.github.com/kubescape/helm-charts/compare/kubescape-operator-1.30.2...kubescape-operator-1.30.3)

Kubescape is an E2E Kubernetes cluster security platform

#### What's Changed

- chore: adding the ability to adjust the source of busybox by
[@&#8203;drew-viles](https://redirect.github.com/drew-viles) in
[#&#8203;784](https://redirect.github.com/kubescape/helm-charts/pull/784)
- add k8s context tag by
[@&#8203;YakirOren](https://redirect.github.com/YakirOren) in
[#&#8203;785](https://redirect.github.com/kubescape/helm-charts/pull/785)
- run system tests from private repo by
[@&#8203;bvolovat](https://redirect.github.com/bvolovat) in
[#&#8203;786](https://redirect.github.com/kubescape/helm-charts/pull/786)
- add stream logs and wait for tests finish by
[@&#8203;bvolovat](https://redirect.github.com/bvolovat) in
[#&#8203;787](https://redirect.github.com/kubescape/helm-charts/pull/787)
- fix attempt by
[@&#8203;bvolovat](https://redirect.github.com/bvolovat) in
[#&#8203;788](https://redirect.github.com/kubescape/helm-charts/pull/788)
- Update 02-e2e-test.yaml by
[@&#8203;armobot](https://redirect.github.com/armobot) in
[#&#8203;789](https://redirect.github.com/kubescape/helm-charts/pull/789)
- Run test from private repo by
[@&#8203;bvolovat](https://redirect.github.com/bvolovat) in
[#&#8203;791](https://redirect.github.com/kubescape/helm-charts/pull/791)
- add workflow\_call by
[@&#8203;bvolovat](https://redirect.github.com/bvolovat) in
[#&#8203;792](https://redirect.github.com/kubescape/helm-charts/pull/792)
- add startup probe by
[@&#8203;YakirOren](https://redirect.github.com/YakirOren) in
[#&#8203;793](https://redirect.github.com/kubescape/helm-charts/pull/793)
- <kubescape/kubescape@v3.0.47...v3.0.48>
- Fix typos in documentation by
[@&#8203;oglok](https://redirect.github.com/oglok) in
[kubescape/kubescape#1913](https://redirect.github.com/kubescape/kubescape/pull/1913)
- fix: Kustomize directory analysis not working by
[@&#8203;majiayu000](https://redirect.github.com/majiayu000) in
[kubescape/kubescape#1914](https://redirect.github.com/kubescape/kubescape/pull/1914)
- feat: Define labels to copy from workloads to reports by
[@&#8203;majiayu000](https://redirect.github.com/majiayu000) in
[kubescape/kubescape#1915](https://redirect.github.com/kubescape/kubescape/pull/1915)
- Add SkipPersistence flag to MetricsQueryParams in metrics endpoint by
[@&#8203;BroderPeters](https://redirect.github.com/BroderPeters) in
[kubescape/kubescape#1917](https://redirect.github.com/kubescape/kubescape/pull/1917)
- ci: update scorecard action version by
[@&#8203;AndrewCharlesHay](https://redirect.github.com/AndrewCharlesHay)
in
[kubescape/kubescape#1918](https://redirect.github.com/kubescape/kubescape/pull/1918)
- update test lists by
[@&#8203;amirmalka](https://redirect.github.com/amirmalka) in
[kubescape/kubescape#1919](https://redirect.github.com/kubescape/kubescape/pull/1919)
- build(deps): Bump github.com/sigstore/cosign/v3 from
3.0.3-0.20251208232815-901b44d65952 to 3.0.4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[kubescape/kubescape#1920](https://redirect.github.com/kubescape/kubescape/pull/1920)
- Update build number retrieval and permissions in workflow by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/kubescape#1921](https://redirect.github.com/kubescape/kubescape/pull/1921)
- Fix workload scan to include allcontrols framework by
[@&#8203;Copilot](https://redirect.github.com/Copilot) in
[kubescape/kubescape#1922](https://redirect.github.com/kubescape/kubescape/pull/1922)
- build(deps): Bump github.com/sigstore/fulcio from 1.8.4 to 1.8.5 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[kubescape/kubescape#1923](https://redirect.github.com/kubescape/kubescape/pull/1923)
- Fix panic on unsafe interface{} to string type assertions by
[@&#8203;Copilot](https://redirect.github.com/Copilot) in
[kubescape/kubescape#1926](https://redirect.github.com/kubescape/kubescape/pull/1926)
- build(deps): Bump github.com/theupdateframework/go-tuf/v2 from 2.3.0
to 2.3.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[kubescape/kubescape#1927](https://redirect.github.com/kubescape/kubescape/pull/1927)
- build(deps): Bump github.com/sigstore/rekor from 1.4.3 to 1.5.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[kubescape/kubescape#1928](https://redirect.github.com/kubescape/kubescape/pull/1928)
- <kubescape/operator@v0.2.121...v0.2.126>
- bump version by
[@&#8203;jnathangreeg](https://redirect.github.com/jnathangreeg) in
[kubescape/operator#349](https://redirect.github.com/kubescape/operator/pull/349)
- Fix comment typo in checkECRRegistry function to clarify \_catalog
end… by [@&#8203;jnathangreeg](https://redirect.github.com/jnathangreeg)
in
[kubescape/operator#351](https://redirect.github.com/kubescape/operator/pull/351)
- add permissions by
[@&#8203;bvolovat](https://redirect.github.com/bvolovat) in
[kubescape/operator#352](https://redirect.github.com/kubescape/operator/pull/352)
- bump github.com/armosec/armoapi-go v0.0.673 by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/operator#353](https://redirect.github.com/kubescape/operator/pull/353)
- bump github.com/kubescape/go-logger v0.0.26 by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/operator#354](https://redirect.github.com/kubescape/operator/pull/354)
- bump github.com/goradd/maps v1.3.0 by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/operator#355](https://redirect.github.com/kubescape/operator/pull/355)
- <kubescape/kubevuln@v0.3.98...v0.3.104>
- replace debian 12 with debian 13 when building container images by
[@&#8203;pfarikrispy](https://redirect.github.com/pfarikrispy) in
[kubescape/kubevuln#317](https://redirect.github.com/kubescape/kubevuln/pull/317)
- Add comprehensive documentation and governance by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/kubevuln#318](https://redirect.github.com/kubescape/kubevuln/pull/318)
- Bump github.com/cilium/cilium from 1.16.9 to 1.16.17 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[kubescape/kubevuln#319](https://redirect.github.com/kubescape/kubevuln/pull/319)
- Add timeout to Grype DB update with graceful fallback to prevent
indefinite readiness probe failures by
[@&#8203;Copilot](https://redirect.github.com/Copilot) in
[kubescape/kubevuln#320](https://redirect.github.com/kubescape/kubevuln/pull/320)
- Prevent DB update cancellation on readiness probe by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/kubevuln#321](https://redirect.github.com/kubescape/kubevuln/pull/321)
- <kubescape/storage@v0.0.237...v0.0.239>
- feat: handle large object storage by clearing spec and updating
annotations by [@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/storage#279](https://redirect.github.com/kubescape/storage/pull/279)
- bump k8s version to v0.35.0 by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/storage#280](https://redirect.github.com/kubescape/storage/pull/280)
- <kubescape/node-agent@v0.3.11...v0.3.36>
- feat: propagate IsTriggerAlert field from rules to runtime alerts by
[@&#8203;slashben](https://redirect.github.com/slashben) in
[kubescape/node-agent#686](https://redirect.github.com/kubescape/node-agent/pull/686)
- Generating release by
[@&#8203;slashben](https://redirect.github.com/slashben) in
[kubescape/node-agent#688](https://redirect.github.com/kubescape/node-agent/pull/688)
- Feature/rule engine redesign by
[@&#8203;YakirOren](https://redirect.github.com/YakirOren) in
[kubescape/node-agent#685](https://redirect.github.com/kubescape/node-agent/pull/685)
- refactor: update cloud metadata types to use armotypes package by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/node-agent#689](https://redirect.github.com/kubescape/node-agent/pull/689)
- Replace host sensor with node agent sensing by
[@&#8203;Bezbran](https://redirect.github.com/Bezbran) in
[kubescape/node-agent#681](https://redirect.github.com/kubescape/node-agent/pull/681)
- use k8s-interface by
[@&#8203;Bezbran](https://redirect.github.com/Bezbran) in
[kubescape/node-agent#691](https://redirect.github.com/kubescape/node-agent/pull/691)
- optimize header parsing and add early return in ruleAppliesToContext
by [@&#8203;YakirOren](https://redirect.github.com/YakirOren) in
[kubescape/node-agent#692](https://redirect.github.com/kubescape/node-agent/pull/692)
- improve field accessor retrieval with nil checks and type assertions
by [@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/node-agent#694](https://redirect.github.com/kubescape/node-agent/pull/694)
- Bump github.com/sigstore/sigstore from 1.9.5 to 1.10.4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[kubescape/node-agent#696](https://redirect.github.com/kubescape/node-agent/pull/696)
- Add Azure ResourceGroup enrichment to CloudMetadata by
[@&#8203;slashben](https://redirect.github.com/slashben) in
[kubescape/node-agent#697](https://redirect.github.com/kubescape/node-agent/pull/697)
- Add unit tests for Azure ResourceGroup parsing by
[@&#8203;slashben](https://redirect.github.com/slashben) in
[kubescape/node-agent#698](https://redirect.github.com/kubescape/node-agent/pull/698)
- remove toMap function by
[@&#8203;YakirOren](https://redirect.github.com/YakirOren) in
[kubescape/node-agent#693](https://redirect.github.com/kubescape/node-agent/pull/693)
- run system test from private repo by
[@&#8203;bvolovat](https://redirect.github.com/bvolovat) in
[kubescape/node-agent#700](https://redirect.github.com/kubescape/node-agent/pull/700)
- bump: update golang-set dependency to v2.8.0 by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/node-agent#701](https://redirect.github.com/kubescape/node-agent/pull/701)
- bump: update armoapi-go dependency to v0.0.671 by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/node-agent#702](https://redirect.github.com/kubescape/node-agent/pull/702)
- update the tests\_groups by
[@&#8203;bvolovat](https://redirect.github.com/bvolovat) in
[kubescape/node-agent#703](https://redirect.github.com/kubescape/node-agent/pull/703)
- bump: update dependencies for backend, storage, and OpenAPI packages
by [@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/node-agent#704](https://redirect.github.com/kubescape/node-agent/pull/704)
- update chart repo by
[@&#8203;bvolovat](https://redirect.github.com/bvolovat) in
[kubescape/node-agent#705](https://redirect.github.com/kubescape/node-agent/pull/705)
- bump: update cel-go dependency to v0.26.1 by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/node-agent#706](https://redirect.github.com/kubescape/node-agent/pull/706)
- Implement ClusterUID enrichment for runtime alerts by
[@&#8203;slashben](https://redirect.github.com/slashben) in
[kubescape/node-agent#708](https://redirect.github.com/kubescape/node-agent/pull/708)
- fix a bug where failed expressions would recompile on every event by
[@&#8203;YakirOren](https://redirect.github.com/YakirOren) in
[kubescape/node-agent#690](https://redirect.github.com/kubescape/node-agent/pull/690)
- fix container watcher error propagation by
[@&#8203;YakirOren](https://redirect.github.com/YakirOren) in
[kubescape/node-agent#709](https://redirect.github.com/kubescape/node-agent/pull/709)
- add permissions by
[@&#8203;bvolovat](https://redirect.github.com/bvolovat) in
[kubescape/node-agent#710](https://redirect.github.com/kubescape/node-agent/pull/710)
- upgrade to IG v0.48.1 by
[@&#8203;matthyx](https://redirect.github.com/matthyx) in
[kubescape/node-agent#695](https://redirect.github.com/kubescape/node-agent/pull/695)
-
<kubescape/synchronizer@v0.0.127...v0.0.128>
- perf: optimize memory usage by avoiding string-to-byte conversions by
[@&#8203;amirmalka](https://redirect.github.com/amirmalka) in
[kubescape/synchronizer#135](https://redirect.github.com/kubescape/synchronizer/pull/135)

#### New Contributors

- [@&#8203;drew-viles](https://redirect.github.com/drew-viles) made
their first contribution in
[#&#8203;784](https://redirect.github.com/kubescape/helm-charts/pull/784)
- [@&#8203;YakirOren](https://redirect.github.com/YakirOren) made their
first contribution in
[#&#8203;785](https://redirect.github.com/kubescape/helm-charts/pull/785)
- [@&#8203;armobot](https://redirect.github.com/armobot) made their
first contribution in
[#&#8203;789](https://redirect.github.com/kubescape/helm-charts/pull/789)
- [@&#8203;pfarikrispy](https://redirect.github.com/pfarikrispy) made
their first contribution in
[kubescape/kubevuln#317](https://redirect.github.com/kubescape/kubevuln/pull/317)
- [@&#8203;bvolovat](https://redirect.github.com/bvolovat) made their
first contribution in
[kubescape/operator#352](https://redirect.github.com/kubescape/operator/pull/352)
- [@&#8203;oglok](https://redirect.github.com/oglok) made their first
contribution in
[kubescape/kubescape#1913](https://redirect.github.com/kubescape/kubescape/pull/1913)
- [@&#8203;majiayu000](https://redirect.github.com/majiayu000) made
their first contribution in
[kubescape/kubescape#1914](https://redirect.github.com/kubescape/kubescape/pull/1914)
- [@&#8203;BroderPeters](https://redirect.github.com/BroderPeters) made
their first contribution in
[kubescape/kubescape#1917](https://redirect.github.com/kubescape/kubescape/pull/1917)
-
[@&#8203;AndrewCharlesHay](https://redirect.github.com/AndrewCharlesHay)
made their first contribution in
[kubescape/kubescape#1918](https://redirect.github.com/kubescape/kubescape/pull/1918)
- [@&#8203;Bezbran](https://redirect.github.com/Bezbran) made their
first contribution in
[kubescape/node-agent#681](https://redirect.github.com/kubescape/node-agent/pull/681)
- [@&#8203;bvolovat](https://redirect.github.com/bvolovat) made their
first contribution in
[kubescape/node-agent#700](https://redirect.github.com/kubescape/node-agent/pull/700)

**Full Changelog**:
<kubescape/helm-charts@kubescape-operator-1.30.2...kubescape-operator-1.30.3>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Darkflame72/home-ops).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvaGVsbSIsInR5cGUvcGF0Y2giXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Create release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants